﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Core.Entities.Mater
{
    /// <summary>
    /// 筒仓信息
    /// </summary>
    /// 
    public class SiloInfo:BaseEntity<string>
    {
        /// <summary>
        /// 主键ID
        /// </summary>
        public override string? Id { get; set; }

        /// <summary>
        /// 筒仓编码
        /// </summary>
        public string? SiloCode { get; set; }

        /// <summary>
        /// 筒仓名称
        /// </summary>
        public string? SiloName { get; set; }

        /// <summary>
        /// 物料编码
        /// </summary>
        public string? MaterCode { get; set; }

        /// <summary>
        /// 物料名称
        /// </summary>
        public string? MaterName { get; set; }

        /// <summary>
        /// 仓库ID
        /// </summary>
        public string? WarehouseID { get; set; }

        /// <summary>
        /// 仓库名称
        /// </summary>
        public string? WarehouseName { get; set; }

        /// <summary>
        /// 库位ID
        /// </summary>
        public string? LocationID { get; set; }

        /// <summary>
        /// 库位名称
        /// </summary>
        public string? LocationName { get; set; }

        /// <summary>
        /// 单位
        /// </summary>
        public string? Unit { get; set; }

        /// <summary>
        /// 额定容量
        /// </summary>
        public decimal? CapacityQty { get; set; }

        /// <summary>
        /// 容积(m³)
        /// </summary>
        public decimal? CapacityVolumeM3 { get; set; }

        /// <summary>
        /// 最低安全库存
        /// </summary>
        public decimal? MinStockQty { get; set; }

        /// <summary>
        /// 最高安全库存
        /// </summary>
        public decimal? MaxStockQty { get; set; }

        /// <summary>
        /// 补货点
        /// </summary>
        public string? ReorderPointQty { get; set; }

        /// <summary>
        /// 制造商
        /// </summary>
        public string? Manufacturer { get; set; }

        /// <summary>
        /// 型号
        /// </summary>
        public string? Model { get; set; }

        /// <summary>
        /// 出厂编号
        /// </summary>
        public string? SerialNo { get; set; }

        /// <summary>
        /// 安装日期
        /// </summary>
        public DateTime? InstallDate { get; set; }

        /// <summary>
        /// 状态
        /// </summary>
        public string? Status { get; set; }

        /// <summary>
        /// 备注
        /// </summary>
        public string? Remarks { get; set; }

        /// <summary>
        /// 创建人
        /// </summary>
        public string? CreatedBy { get; set; }

        /// <summary>
        /// 创建时间
        /// </summary>
        public string? CreateTime { get; set; }

        /// <summary>
        /// 修改人
        /// </summary>
        public string? UpdateBy { get; set; }

        /// <summary>
        /// 修改时间
        /// </summary>
        public string? UpdateTime { get; set; }

        /// <summary>
        /// 是否删除
        /// </summary>
        public bool IsDeleted { get; set; }

        public SiloInfo()
        {
            // 如果ID为空，自动生成GUID
            if (string.IsNullOrEmpty(Id))
            {
                Id = Guid.NewGuid().ToString();
            }
        }
    }
}
